html, body {
   height: 100%;
   width: 100%;
   margin: 0;
   padding: 0;
  overflow: hidden;
}
body, body > div{
  display: flex;
  flex-direction: column;
}
#div-load {
  display:block;
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  right:0;
  background-color:white;
  opacity:0.9;
  z-index:10000;
  text-align:center;
  vertical-align: middle;
  line-height:100vh;
  font-size:2em;
}
#visualization-container {
    background-color:#777777;
    position:relative;
    padding:0;
}

#webgl-canvas {
  position: absolute;
  width:100%;
  height:100%;
  margin:0;
}

#webgl-controls {
  position: absolute;
  bottom:0;
  left:50%;
  width:360px;
  height:50px;
  margin-left: -180px;
  padding:0;
  text-align: center;
}

#webgl-controls > i {
  position:relative;
  width:50px;
  height:50px;
  font-size:50px;
  color:#999999;
  opacity:0.9;
  cursor: pointer;
  z-index: 1;
}
#webgl-controls > i:hover, #webgl-controls > i:focus, #webgl-controls > i:active {
  opacity:0.75;
}

#webgl-controls > span.spacer-25 {
  position:relative;
  width:25px;
  height:0;
  z-index: 1;
  display:inline-block;
  margin:0;
  padding:0;
}

#webgl-extended-controls {
  position: absolute;
  bottom: 75px;
  left: 50%;
  width: 300px;
  height: 100px;
  margin-left: -150px;
  padding: 10px;
  text-align: center;
  background-color:white;
  background-color:rgba(255, 255, 255, 0.5);
  border-radius: 3px;
}
#webgl-extended-controls.hidden {
  display:none;
}
#webgl-extended-controls > div{
  background-color:rgba(255, 255, 255, 0.6);
  color:black;
  border-radius: 3px;
  border:1px solid black;
}

#settings-container {
  padding:0.5em;
  border-left:1px solid #BBBBBB;
  overflow:auto;
  max-height:100vh;
}

#settings-container .form-group {
  padding-left:10px;
  padding-right:10px;
}
#settings-container .form-control {
  padding:6px;
  text-align:center;
}

#settings-container .col-sm-1,
#settings-container .col-sm-2,
#settings-container .col-sm-3,
#settings-container .col-sm-4,
#settings-container .col-sm-5,
#settings-container .col-sm-6,
#settings-container .col-sm-7,
#settings-container .col-sm-8,
#settings-container .col-sm-9,
#settings-container .col-sm-10,
#settings-container .col-sm-11,
#settings-container .col-sm-12 {
  padding-left:5px;
  padding-right:5px;
}

body > div {
  flex-direction: row;
  flex: 1;
}
#input-show-settings {
  display:none;
}
label[for="input-show-settings"] {
  position: fixed;
  top:0;
  right:0;
  z-index: 10;
  background-color: #dddddd;
  border-left:1px solid #bbbbbb;
  border-bottom:1px solid #bbbbbb;
  border-bottom-left-radius: 1em;
  padding: 1em;
}

#visualization-container {
  display: block;
  flex: 1;
}
#settings-container {
  display: none;
  flex: 0;
}
/*#input-show-settings:checked ~ #visualization-container {
  display: block;
  flex: 0.5;
}
#input-show-settings:checked ~ #settings-container {
  display: block;
  flex: 0.5;
}*/

#input-show-settings:checked ~ #visualization-container {
  display: block;
  flex: 1;
}
#input-show-settings:checked ~ #settings-container {
  display: block;
  flex: 0 0 350px;
}
@media
(-webkit-min-device-pixel-ratio: 2) or
(min-resolution: 192dpi) {
  @media (max-width: 1520px) {
    #input-show-settings:checked ~ #visualization-container {
      display: none;
      flex: 0;
    }

    #input-show-settings:checked ~ #settings-container {
      display: block;
      flex: 1;
    }
  }
}
@media (max-width: 760px) {
  #input-show-settings:checked ~ #visualization-container {
    display: none;
    flex: 0;
  }

  #input-show-settings:checked ~ #settings-container {
    display: block;
    flex: 1;
  }
}
/*
@media (min-width: 768px) {
  body > div {
    flex-direction: row;
    flex: 1;
  }
  #visualization-container {
    flex: 1;
  }
  #settings-container {
    flex: 0 0 350px;
    overflow-y:scroll;
  }
  #settings-container > * {
    height:0;
  }
}

@media (max-width: 767px) {
  #visualization-container {
    height:100vh;
  }
}
span.input-group-addon {
  width:53px;
}*/